Skip to content

Cache derive proc macro expansion with incremental query #145354

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

Kobzol
Copy link
Member

@Kobzol Kobzol commented Aug 13, 2025

This is a revival of #129102, originally implemented by @futile. Since it looks like they are not active currently, I'd like to push this work forward.

The first commit is squashed and rebased work from the original PR, with author attribution to futile. The rest of the commits are some additional comments that I created mostly for myself to understand what happens here. I also did some cleanups based on Vadim's review comments on the original PR, plus I refactored the TLS access a bit using scoped_tls.

The biggest issue, as usually, are tests... I tried using #[rustc_clean(..., loaded_from_disk = "derive_macro_expansion")], but the problem is that since this query cannot recover the original key from its hash, and thus its fingerprintstyle is FingerprintStyle::Opaque, this crashes when I try to use loaded_from_disk. Any suggestions from someone who actually understands the query system would be welcome 😅

To answer one review question from the original PR: the Hash implementation for TokenStream is indeed called, and it is needed since the stream forms a part of a query key. Not sure about the Encoder Hash implementation though.

The last commit is WIP to enable the functionality by default for rustc-perf, I'll do another perf. run here.

TODO: document the new unstable flag

r? @petrochenkov

@rustbot rustbot added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Aug 13, 2025
@rustbot
Copy link
Collaborator

rustbot commented Aug 13, 2025

These commits modify the Cargo.lock file. Unintentional changes to Cargo.lock can be introduced when switching branches and rebasing PRs.

If this was unintentional then you should revert the changes before this PR is merged.
Otherwise, you can ignore this comment.

@rustbot rustbot added the T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. label Aug 13, 2025
@Kobzol
Copy link
Member Author

Kobzol commented Aug 13, 2025

@bors try @rust-timer queue

@rust-timer
Copy link
Collaborator

Awaiting bors try build completion.

@rustbot label: +S-waiting-on-perf

@rust-bors

This comment has been minimized.

rust-bors bot added a commit that referenced this pull request Aug 13, 2025
Cache derive proc macro expansion with incremental query
@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Aug 13, 2025
}
}

impl<H: std::hash::Hasher> SpanEncoder for HashEncoder<H> {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't this use StableHasher? The regular Hash impl is only valid for a single rustc session.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is something that wasn't answered in #129102 (comment).

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, I need to read up on the difference of usage of Hash and StableHash for incremental. I examined a few other query key types and a lot of them just #[derive(Hash)]. I did the same for TokenStream, but would appreciate guidance on if it is the Right Thing to do :)

/// Must be called while the `enter` function is active.
fn with<F, R>(f: F) -> R
where
F: for<'a, 'b> FnOnce(&'b mut ExtCtxt<'a>, DeriveClient) -> R,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The ExtCtxt contains a bunch of things that would need to be tracked by the query system for sound caching. And the rest could either be retrieved from the tcx or be created from scratch to avoid having to use a thread local to bypass the query system.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was discussed a bit in #129102 (comment) and a few comments right above it.

@petrochenkov petrochenkov removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Aug 13, 2025
@cjgillot cjgillot self-assigned this Aug 13, 2025
@rust-log-analyzer

This comment has been minimized.

@rust-bors
Copy link

rust-bors bot commented Aug 13, 2025

💔 Test for 21e746d failed: CI. Failed jobs:

@rust-log-analyzer

This comment has been minimized.

@Kobzol
Copy link
Member Author

Kobzol commented Aug 13, 2025

@bors try

@rust-bors

This comment has been minimized.

rust-bors bot added a commit that referenced this pull request Aug 13, 2025
Cache derive proc macro expansion with incremental query
@rust-log-analyzer
Copy link
Collaborator

The job pr-check-2 failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
    |
note: `PartialEq` implemented here
   --> compiler/rustc_ast/src/tokenstream.rs:671:1
    |
671 | impl PartialEq<TokenStream> for TokenStream {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derived_hash_with_manual_eq

[RUSTC-TIMING] intl_pluralrules test:false 1.331
    Checking fluent-bundle v0.16.0

@rust-log-analyzer
Copy link
Collaborator

The job dist-x86_64-linux failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 30.89s
##[endgroup]
[2025-08-13T15:08:30.804Z INFO  opt_dist::timer] Section `Stage 1 (Rustc PGO)` starts
[2025-08-13T15:08:30.804Z INFO  opt_dist::timer] Section `Stage 1 (Rustc PGO) > Build PGO instrumented rustc and LLVM` starts
[2025-08-13T15:08:30.804Z INFO  opt_dist::exec] Executing `RUST_BACKTRACE=full python3 /checkout/x.py build --target x86_64-unknown-linux-gnu --host x86_64-unknown-linux-gnu --stage 2 library/std --set rust.llvm-bitcode-linker=false --set build.extended=false --set rust.codegen-backends=['llvm'] --set rust.deny-warnings=false --rust-profile-generate /tmp/tmp-multistage/opt-artifacts/rustc-pgo --set llvm.thin-lto=false --set llvm.link-shared=true [at /checkout/obj]`
Unknown option: -C
usage: git [--version] [--help] [-c name=value]
           [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
           [-p|--paginate|--no-pager] [--no-replace-objects] [--bare]
           [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
---
[2025-08-13T15:24:19Z DEBUG collector::compile::execute] cd "/tmp/.tmpDqCGHh" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" CARGO_MAKEFLAGS="-j --jobserver-fds=9,10 --jobserver-auth=9,10" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpDqCGHh#[email protected]" "--profile" "check" "--lib" "--" "--skip-this-rustc"
Running cargo-0.87.1: Check + [Full, IncrFull, IncrUnchanged, IncrPatched] + Llvm + X86_64UnknownLinuxGnu
[2025-08-13T15:25:46Z DEBUG collector::compile::benchmark] Benchmark iteration 1/1
[2025-08-13T15:25:46Z INFO  collector::compile::execute] run_rustc with incremental=false, profile=Check, scenario=Some(Full), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-08-13T15:25:46Z DEBUG collector::compile::execute] cd "/tmp/.tmpsXhEMG" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpsXhEMG#[email protected]" "--profile" "check" "--lib" "--" "--wrap-rustc-with" "Eprintln"
[2025-08-13T15:26:01Z INFO  collector::compile::execute] run_rustc with incremental=true, profile=Check, scenario=Some(IncrFull), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-08-13T15:26:01Z DEBUG collector::compile::execute] cd "/tmp/.tmpsXhEMG" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpsXhEMG#[email protected]" "--profile" "check" "--lib" "--" "--wrap-rustc-with" "Eprintln" "-C" "incremental=/tmp/.tmpsXhEMG/incremental-state"
Finished benchmark cargo-0.87.1 (2/9)
collector error: Failed to profile 'cargo-0.87.1' with Eprintln, recorded: expected success, got exit status: 101

stderr=    Checking cargo v0.87.1 (/tmp/.tmpsXhEMG)

thread 'main' panicked at collector/src/bin/rustc-fake.rs:31:5:
command did not complete successfully: RUSTC_FORCE_INCR_COMP_ARTIFACT_HEADER="rustc-perf" RUSTC_FORCE_RUSTC_VERSION="rustc-perf" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "--crate-name" "cargo" "--edition=2021" "src/cargo/lib.rs" "--error-format=json" "--json=diagnostic-rendered-ansi,artifacts,future-incompat" "--crate-type" "lib" "--emit=dep-info,metadata" "-C" "embed-bitcode=no" "-C" "debuginfo=2" "--allow=clippy::all" "--warn=clippy::correctness" "--warn=clippy::self_named_module_files" "--warn=rust_2018_idioms" "--allow=rustdoc::private_intra_doc_links" "--warn=clippy::print_stdout" "--warn=clippy::print_stderr" "--warn=clippy::disallowed_methods" "--warn=clippy::dbg_macro" "--check-cfg" "cfg(docsrs,test)" "--check-cfg" "cfg(feature, values(\"all-static\", \"openssl\", \"openssl-sys\", \"vendored-libgit2\", \"vendored-openssl\"))" "-C" "metadata=6c21fcd8e7bc4253" "-C" "extra-filename=-caa9465fc6aef05e" "--out-dir" "/tmp/.tmpsXhEMG/target/debug/deps" "-C" "linker=clang" "-L" "dependency=/tmp/.tmpsXhEMG/target/debug/deps" "--extern" "annotate_snippets=/tmp/.tmpsXhEMG/target/debug/deps/libannotate_snippets-29859afa0e9811d8.rmeta" "--extern" "anstream=/tmp/.tmpsXhEMG/target/debug/deps/libanstream-3abeb2e605d33acc.rmeta" "--extern" "anstyle=/tmp/.tmpsXhEMG/target/debug/deps/libanstyle-202464209a00b183.rmeta" "--extern" "anyhow=/tmp/.tmpsXhEMG/target/debug/deps/libanyhow-c1260874b3652ce5.rmeta" "--extern" "base64=/tmp/.tmpsXhEMG/target/debug/deps/libbase64-338dc187bf909e4f.rmeta" "--extern" "blake3=/tmp/.tmpsXhEMG/target/debug/deps/libblake3-7fbd3ee0a87debe4.rmeta" "--extern" "bytesize=/tmp/.tmpsXhEMG/target/debug/deps/libbytesize-044f61e891a992ae.rmeta" "--extern" "cargo_credential=/tmp/.tmpsXhEMG/target/debug/deps/libcargo_credential-ba4c3a8bedfe19d3.rmeta" "--extern" "cargo_credential_libsecret=/tmp/.tmpsXhEMG/target/debug/deps/libcargo_credential_libsecret-4d5f6df16e0ee1bb.rmeta" "--extern" "cargo_platform=/tmp/.tmpsXhEMG/target/debug/deps/libcargo_platform-1ba108ecc4444d00.rmeta" "--extern" "cargo_util=/tmp/.tmpsXhEMG/target/debug/deps/libcargo_util-0714b298c8388643.rmeta" "--extern" "cargo_util_schemas=/tmp/.tmpsXhEMG/target/debug/deps/libcargo_util_schemas-a5cd8225886c8757.rmeta" "--extern" "clap=/tmp/.tmpsXhEMG/target/debug/deps/libclap-3615e0173534788f.rmeta" "--extern" "clap_complete=/tmp/.tmpsXhEMG/target/debug/deps/libclap_complete-16d2c605d1dec375.rmeta" "--extern" "color_print=/tmp/.tmpsXhEMG/target/debug/deps/libcolor_print-9c3366261ffbc0e2.rmeta" "--extern" "crates_io=/tmp/.tmpsXhEMG/target/debug/deps/libcrates_io-f9a0399b64f7e8b2.rmeta" "--extern" "curl=/tmp/.tmpsXhEMG/target/debug/deps/libcurl-0fbb42ae2e23e44e.rmeta" "--extern" "curl_sys=/tmp/.tmpsXhEMG/target/debug/deps/libcurl_sys-10aa9e89ae2eb5c1.rmeta" "--extern" "filetime=/tmp/.tmpsXhEMG/target/debug/deps/libfiletime-49fa3ead6893a2c2.rmeta" "--extern" "flate2=/tmp/.tmpsXhEMG/target/debug/deps/libflate2-65b8d79d13d52da0.rmeta" "--extern" "git2=/tmp/.tmpsXhEMG/target/debug/deps/libgit2-ecba305af6aa0c82.rmeta" "--extern" "git2_curl=/tmp/.tmpsXhEMG/target/debug/deps/libgit2_curl-d907bb698db96520.rmeta" "--extern" "gix=/tmp/.tmpsXhEMG/target/debug/deps/libgix-55db1bcaa173361b.rmeta" "--extern" "glob=/tmp/.tmpsXhEMG/target/debug/deps/libglob-b1bdf0e9d2aeafab.rmeta" "--extern" "hex=/tmp/.tmpsXhEMG/target/debug/deps/libhex-e70d8a861528f08b.rmeta" "--extern" "hmac=/tmp/.tmpsXhEMG/target/debug/deps/libhmac-1ac9979a52db8525.rmeta" "--extern" "home=/tmp/.tmpsXhEMG/target/debug/deps/libhome-13ed6ec7ce71a874.rmeta" "--extern" "http_auth=/tmp/.tmpsXhEMG/target/debug/deps/libhttp_auth-6dcb664c323dde6d.rmeta" "--extern" "humantime=/tmp/.tmpsXhEMG/target/debug/deps/libhumantime-1765a57874ce95f7.rmeta" "--extern" "ignore=/tmp/.tmpsXhEMG/target/debug/deps/libignore-3ec5a73857719a8e.rmeta" "--extern" "im_rc=/tmp/.tmpsXhEMG/target/debug/deps/libim_rc-eb9165b7520428d9.rmeta" "--extern" "indexmap=/tmp/.tmpsXhEMG/target/debug/deps/libindexmap-15a036a3bde03cc1.rmeta" "--extern" "itertools=/tmp/.tmpsXhEMG/target/debug/deps/libitertools-b0b9f3ee19d802b5.rmeta" "--extern" "jobserver=/tmp/.tmpsXhEMG/target/debug/deps/libjobserver-e9afa6886382c90c.rmeta" "--extern" "lazycell=/tmp/.tmpsXhEMG/target/debug/deps/liblazycell-0072ca780cc67e64.rmeta" "--extern" "libc=/tmp/.tmpsXhEMG/target/debug/deps/liblibc-640482b218026094.rmeta" "--extern" "libgit2_sys=/tmp/.tmpsXhEMG/target/debug/deps/liblibgit2_sys-cb044b0c26506af3.rmeta" "--extern" "memchr=/tmp/.tmpsXhEMG/target/debug/deps/libmemchr-9a720a66e1fd5d2d.rmeta" "--extern" "opener=/tmp/.tmpsXhEMG/target/debug/deps/libopener-b4c56cdbe3239724.rmeta" "--extern" "os_info=/tmp/.tmpsXhEMG/target/debug/deps/libos_info-a6f39410279a88d9.rmeta" "--extern" "pasetors=/tmp/.tmpsXhEMG/target/debug/deps/libpasetors-b148ffa79e137288.rmeta" "--extern" "pathdiff=/tmp/.tmpsXhEMG/target/debug/deps/libpathdiff-75000f9ba1704ca6.rmeta" "--extern" "rand=/tmp/.tmpsXhEMG/target/debug/deps/librand-8da207977ee97610.rmeta" "--extern" "regex=/tmp/.tmpsXhEMG/target/debug/deps/libregex-927c53d831d19cc3.rmeta" "--extern" "rusqlite=/tmp/.tmpsXhEMG/target/debug/deps/librusqlite-6b62b4be76780f70.rmeta" "--extern" "rustc_hash=/tmp/.tmpsXhEMG/target/debug/deps/librustc_hash-db361ce2683a5f1e.rmeta" "--extern" "rustc_stable_hash=/tmp/.tmpsXhEMG/target/debug/deps/librustc_stable_hash-e244c66ef7eb574d.rmeta" "--extern" "rustfix=/tmp/.tmpsXhEMG/target/debug/deps/librustfix-50da2cc31e0336b3.rmeta" "--extern" "same_file=/tmp/.tmpsXhEMG/target/debug/deps/libsame_file-c3d42a00f565f4b5.rmeta" "--extern" "semver=/tmp/.tmpsXhEMG/target/debug/deps/libsemver-ac1d42d41dfcadfd.rmeta" "--extern" "serde=/tmp/.tmpsXhEMG/target/debug/deps/libserde-13ee4b787aecf8fa.rmeta" "--extern" "serde_untagged=/tmp/.tmpsXhEMG/target/debug/deps/libserde_untagged-6a4c489c171b6b55.rmeta" "--extern" "serde_ignored=/tmp/.tmpsXhEMG/target/debug/deps/libserde_ignored-598db90d35384007.rmeta" "--extern" "serde_json=/tmp/.tmpsXhEMG/target/debug/deps/libserde_json-8615dd4790e708e1.rmeta" "--extern" "sha1=/tmp/.tmpsXhEMG/target/debug/deps/libsha1-6d0c4da5a1fd041e.rmeta" "--extern" "shell_escape=/tmp/.tmpsXhEMG/target/debug/deps/libshell_escape-80f8988367479320.rmeta" "--extern" "supports_hyperlinks=/tmp/.tmpsXhEMG/target/debug/deps/libsupports_hyperlinks-f4b4671a03d2dedc.rmeta" "--extern" "supports_unicode=/tmp/.tmpsXhEMG/target/debug/deps/libsupports_unicode-bb9ac7e79d6a63b6.rmeta" "--extern" "tar=/tmp/.tmpsXhEMG/target/debug/deps/libtar-278dd02d1794a111.rmeta" "--extern" "tempfile=/tmp/.tmpsXhEMG/target/debug/deps/libtempfile-37eda704f41c7b83.rmeta" "--extern" "thiserror=/tmp/.tmpsXhEMG/target/debug/deps/libthiserror-898b54e7bbac3aa7.rmeta" "--extern" "time=/tmp/.tmpsXhEMG/target/debug/deps/libtime-80621b7696305da4.rmeta" "--extern" "toml=/tmp/.tmpsXhEMG/target/debug/deps/libtoml-83c10fd95de2ca30.rmeta" "--extern" "toml_edit=/tmp/.tmpsXhEMG/target/debug/deps/libtoml_edit-d0c24c3dbb62105d.rmeta" "--extern" "tracing=/tmp/.tmpsXhEMG/target/debug/deps/libtracing-3112df53ac30b261.rmeta" "--extern" "tracing_chrome=/tmp/.tmpsXhEMG/target/debug/deps/libtracing_chrome-09b7719e5ae4dc5a.rmeta" "--extern" "tracing_subscriber=/tmp/.tmpsXhEMG/target/debug/deps/libtracing_subscriber-4e610fd480377f4e.rmeta" "--extern" "unicase=/tmp/.tmpsXhEMG/target/debug/deps/libunicase-64c40c83aec13095.rmeta" "--extern" "unicode_width=/tmp/.tmpsXhEMG/target/debug/deps/libunicode_width-210623bebe051100.rmeta" "--extern" "url=/tmp/.tmpsXhEMG/target/debug/deps/liburl-682b5b1de3967e67.rmeta" "--extern" "walkdir=/tmp/.tmpsXhEMG/target/debug/deps/libwalkdir-709aff06faa3cc3d.rmeta" "-C" "incremental=/tmp/.tmpsXhEMG/incremental-state" "-L" "native=/tmp/.tmpsXhEMG/target/debug/build/blake3-64a9caeec3bc7529/out" "-L" "native=/tmp/.tmpsXhEMG/target/debug/build/blake3-64a9caeec3bc7529/out" "-L" "native=/tmp/.tmpsXhEMG/target/debug/build/curl-sys-408084a54d26f483/out/build" "-L" "native=/tmp/.tmpsXhEMG/target/debug/build/libnghttp2-sys-c0230d7a89cec043/out/i/lib" "-L" "native=/tmp/.tmpsXhEMG/target/debug/build/libgit2-sys-ff41dc41688cb339/out/build" "-L" "native=/tmp/.tmpsXhEMG/target/debug/build/libssh2-sys-b2a24c99db1077a0/out/build" "-L" "native=/tmp/.tmpsXhEMG/target/debug/build/libsqlite3-sys-f48ac434b844d7c7/out" "-Adeprecated" "-Aunknown-lints" "-Zincremental-verify-ich"
stack backtrace:
   0: __rustc::rust_begin_unwind
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/std/src/panicking.rs:697:5
   1: core::panicking::panic_fmt
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/core/src/panicking.rs:75:14
---
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
error: could not compile `cargo` (lib)

Caused by:
  process didn't exit successfully: `/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake --crate-name cargo --edition=2021 src/cargo/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 '--allow=clippy::all' '--warn=clippy::correctness' '--warn=clippy::self_named_module_files' --warn=rust_2018_idioms '--allow=rustdoc::private_intra_doc_links' '--warn=clippy::print_stdout' '--warn=clippy::print_stderr' '--warn=clippy::disallowed_methods' '--warn=clippy::dbg_macro' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("all-static", "openssl", "openssl-sys", "vendored-libgit2", "vendored-openssl"))' -C metadata=6c21fcd8e7bc4253 -C extra-filename=-caa9465fc6aef05e --out-dir /tmp/.tmpsXhEMG/target/debug/deps -C linker=clang -L dependency=/tmp/.tmpsXhEMG/target/debug/deps --extern annotate_snippets=/tmp/.tmpsXhEMG/target/debug/deps/libannotate_snippets-29859afa0e9811d8.rmeta --extern anstream=/tmp/.tmpsXhEMG/target/debug/deps/libanstream-3abeb2e605d33acc.rmeta --extern anstyle=/tmp/.tmpsXhEMG/target/debug/deps/libanstyle-202464209a00b183.rmeta --extern anyhow=/tmp/.tmpsXhEMG/target/debug/deps/libanyhow-c1260874b3652ce5.rmeta --extern base64=/tmp/.tmpsXhEMG/target/debug/deps/libbase64-338dc187bf909e4f.rmeta --extern blake3=/tmp/.tmpsXhEMG/target/debug/deps/libblake3-7fbd3ee0a87debe4.rmeta --extern bytesize=/tmp/.tmpsXhEMG/target/debug/deps/libbytesize-044f61e891a992ae.rmeta --extern cargo_credential=/tmp/.tmpsXhEMG/target/debug/deps/libcargo_credential-ba4c3a8bedfe19d3.rmeta --extern cargo_credential_libsecret=/tmp/.tmpsXhEMG/target/debug/deps/libcargo_credential_libsecret-4d5f6df16e0ee1bb.rmeta --extern cargo_platform=/tmp/.tmpsXhEMG/target/debug/deps/libcargo_platform-1ba108ecc4444d00.rmeta --extern cargo_util=/tmp/.tmpsXhEMG/target/debug/deps/libcargo_util-0714b298c8388643.rmeta --extern cargo_util_schemas=/tmp/.tmpsXhEMG/target/debug/deps/libcargo_util_schemas-a5cd8225886c8757.rmeta --extern clap=/tmp/.tmpsXhEMG/target/debug/deps/libclap-3615e0173534788f.rmeta --extern clap_complete=/tmp/.tmpsXhEMG/target/debug/deps/libclap_complete-16d2c605d1dec375.rmeta --extern color_print=/tmp/.tmpsXhEMG/target/debug/deps/libcolor_print-9c3366261ffbc0e2.rmeta --extern crates_io=/tmp/.tmpsXhEMG/target/debug/deps/libcrates_io-f9a0399b64f7e8b2.rmeta --extern curl=/tmp/.tmpsXhEMG/target/debug/deps/libcurl-0fbb42ae2e23e44e.rmeta --extern curl_sys=/tmp/.tmpsXhEMG/target/debug/deps/libcurl_sys-10aa9e89ae2eb5c1.rmeta --extern filetime=/tmp/.tmpsXhEMG/target/debug/deps/libfiletime-49fa3ead6893a2c2.rmeta --extern flate2=/tmp/.tmpsXhEMG/target/debug/deps/libflate2-65b8d79d13d52da0.rmeta --extern git2=/tmp/.tmpsXhEMG/target/debug/deps/libgit2-ecba305af6aa0c82.rmeta --extern git2_curl=/tmp/.tmpsXhEMG/target/debug/deps/libgit2_curl-d907bb698db96520.rmeta --extern gix=/tmp/.tmpsXhEMG/target/debug/deps/libgix-55db1bcaa173361b.rmeta --extern glob=/tmp/.tmpsXhEMG/target/debug/deps/libglob-b1bdf0e9d2aeafab.rmeta --extern hex=/tmp/.tmpsXhEMG/target/debug/deps/libhex-e70d8a861528f08b.rmeta --extern hmac=/tmp/.tmpsXhEMG/target/debug/deps/libhmac-1ac9979a52db8525.rmeta --extern home=/tmp/.tmpsXhEMG/target/debug/deps/libhome-13ed6ec7ce71a874.rmeta --extern http_auth=/tmp/.tmpsXhEMG/target/debug/deps/libhttp_auth-6dcb664c323dde6d.rmeta --extern humantime=/tmp/.tmpsXhEMG/target/debug/deps/libhumantime-1765a57874ce95f7.rmeta --extern ignore=/tmp/.tmpsXhEMG/target/debug/deps/libignore-3ec5a73857719a8e.rmeta --extern im_rc=/tmp/.tmpsXhEMG/target/debug/deps/libim_rc-eb9165b7520428d9.rmeta --extern indexmap=/tmp/.tmpsXhEMG/target/debug/deps/libindexmap-15a036a3bde03cc1.rmeta --extern itertools=/tmp/.tmpsXhEMG/target/debug/deps/libitertools-b0b9f3ee19d802b5.rmeta --extern jobserver=/tmp/.tmpsXhEMG/target/debug/deps/libjobserver-e9afa6886382c90c.rmeta --extern lazycell=/tmp/.tmpsXhEMG/target/debug/deps/liblazycell-0072ca780cc67e64.rmeta --extern libc=/tmp/.tmpsXhEMG/target/debug/deps/liblibc-640482b218026094.rmeta --extern libgit2_sys=/tmp/.tmpsXhEMG/target/debug/deps/liblibgit2_sys-cb044b0c26506af3.rmeta --extern memchr=/tmp/.tmpsXhEMG/target/debug/deps/libmemchr-9a720a66e1fd5d2d.rmeta --extern opener=/tmp/.tmpsXhEMG/target/debug/deps/libopener-b4c56cdbe3239724.rmeta --extern os_info=/tmp/.tmpsXhEMG/target/debug/deps/libos_info-a6f39410279a88d9.rmeta --extern pasetors=/tmp/.tmpsXhEMG/target/debug/deps/libpasetors-b148ffa79e137288.rmeta --extern pathdiff=/tmp/.tmpsXhEMG/target/debug/deps/libpathdiff-75000f9ba1704ca6.rmeta --extern rand=/tmp/.tmpsXhEMG/target/debug/deps/librand-8da207977ee97610.rmeta --extern regex=/tmp/.tmpsXhEMG/target/debug/deps/libregex-927c53d831d19cc3.rmeta --extern rusqlite=/tmp/.tmpsXhEMG/target/debug/deps/librusqlite-6b62b4be76780f70.rmeta --extern rustc_hash=/tmp/.tmpsXhEMG/target/debug/deps/librustc_hash-db361ce2683a5f1e.rmeta --extern rustc_stable_hash=/tmp/.tmpsXhEMG/target/debug/deps/librustc_stable_hash-e244c66ef7eb574d.rmeta --extern rustfix=/tmp/.tmpsXhEMG/target/debug/deps/librustfix-50da2cc31e0336b3.rmeta --extern same_file=/tmp/.tmpsXhEMG/target/debug/deps/libsame_file-c3d42a00f565f4b5.rmeta --extern semver=/tmp/.tmpsXhEMG/target/debug/deps/libsemver-ac1d42d41dfcadfd.rmeta --extern serde=/tmp/.tmpsXhEMG/target/debug/deps/libserde-13ee4b787aecf8fa.rmeta --extern serde_untagged=/tmp/.tmpsXhEMG/target/debug/deps/libserde_untagged-6a4c489c171b6b55.rmeta --extern serde_ignored=/tmp/.tmpsXhEMG/target/debug/deps/libserde_ignored-598db90d35384007.rmeta --extern serde_json=/tmp/.tmpsXhEMG/target/debug/deps/libserde_json-8615dd4790e708e1.rmeta --extern sha1=/tmp/.tmpsXhEMG/target/debug/deps/libsha1-6d0c4da5a1fd041e.rmeta --extern shell_escape=/tmp/.tmpsXhEMG/target/debug/deps/libshell_escape-80f8988367479320.rmeta --extern supports_hyperlinks=/tmp/.tmpsXhEMG/target/debug/deps/libsupports_hyperlinks-f4b4671a03d2dedc.rmeta --extern supports_unicode=/tmp/.tmpsXhEMG/target/debug/deps/libsupports_unicode-bb9ac7e79d6a63b6.rmeta --extern tar=/tmp/.tmpsXhEMG/target/debug/deps/libtar-278dd02d1794a111.rmeta --extern tempfile=/tmp/.tmpsXhEMG/target/debug/deps/libtempfile-37eda704f41c7b83.rmeta --extern thiserror=/tmp/.tmpsXhEMG/target/debug/deps/libthiserror-898b54e7bbac3aa7.rmeta --extern time=/tmp/.tmpsXhEMG/target/debug/deps/libtime-80621b7696305da4.rmeta --extern toml=/tmp/.tmpsXhEMG/target/debug/deps/libtoml-83c10fd95de2ca30.rmeta --extern toml_edit=/tmp/.tmpsXhEMG/target/debug/deps/libtoml_edit-d0c24c3dbb62105d.rmeta --extern tracing=/tmp/.tmpsXhEMG/target/debug/deps/libtracing-3112df53ac30b261.rmeta --extern tracing_chrome=/tmp/.tmpsXhEMG/target/debug/deps/libtracing_chrome-09b7719e5ae4dc5a.rmeta --extern tracing_subscriber=/tmp/.tmpsXhEMG/target/debug/deps/libtracing_subscriber-4e610fd480377f4e.rmeta --extern unicase=/tmp/.tmpsXhEMG/target/debug/deps/libunicase-64c40c83aec13095.rmeta --extern unicode_width=/tmp/.tmpsXhEMG/target/debug/deps/libunicode_width-210623bebe051100.rmeta --extern url=/tmp/.tmpsXhEMG/target/debug/deps/liburl-682b5b1de3967e67.rmeta --extern walkdir=/tmp/.tmpsXhEMG/target/debug/deps/libwalkdir-709aff06faa3cc3d.rmeta --wrap-rustc-with Eprintln -C incremental=/tmp/.tmpsXhEMG/incremental-state -L native=/tmp/.tmpsXhEMG/target/debug/build/blake3-64a9caeec3bc7529/out -L native=/tmp/.tmpsXhEMG/target/debug/build/blake3-64a9caeec3bc7529/out -L native=/tmp/.tmpsXhEMG/target/debug/build/curl-sys-408084a54d26f483/out/build -L native=/tmp/.tmpsXhEMG/target/debug/build/libnghttp2-sys-c0230d7a89cec043/out/i/lib -L native=/tmp/.tmpsXhEMG/target/debug/build/libgit2-sys-ff41dc41688cb339/out/build -L native=/tmp/.tmpsXhEMG/target/debug/build/libssh2-sys-b2a24c99db1077a0/out/build -L native=/tmp/.tmpsXhEMG/target/debug/build/libsqlite3-sys-f48ac434b844d7c7/out` (exit status: 101)


 stdout=


Stack backtrace:
   0: anyhow::error::<impl anyhow::Error>::msg
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.86/src/backtrace.rs:27:14
   1: collector::async_command_output::{{closure}}
             at ./collector/src/lib.rs:247:20
   2: collector::compile::execute::CargoProcess::run_rustc::{{closure}}
             at ./collector/src/compile/execute/mod.rs:453:52
   3: collector::compile::benchmark::Benchmark::measure::{{closure}}
             at ./collector/src/compile/benchmark/mod.rs:462:30
   4: <core::pin::Pin<P> as core::future::future::Future>::poll
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/core/src/future/future.rs:133:9
   5: tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::{{closure}}
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/current_thread/mod.rs:733:70
   6: tokio::task::coop::with_budget
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/task/coop/mod.rs:167:5
   7: tokio::task::coop::budget
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/task/coop/mod.rs:133:5
   8: tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/current_thread/mod.rs:733:25
   9: tokio::runtime::scheduler::current_thread::Context::enter
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/current_thread/mod.rs:432:19
  10: tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/current_thread/mod.rs:732:44
  11: tokio::runtime::scheduler::current_thread::CoreGuard::enter::{{closure}}
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/current_thread/mod.rs:820:68
  12: tokio::runtime::context::scoped::Scoped<T>::set
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/context/scoped.rs:40:9
  13: tokio::runtime::context::set_scheduler::{{closure}}
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/context.rs:176:38
  14: std::thread::local::LocalKey<T>::try_with
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/std/src/thread/local.rs:315:12
  15: std::thread::local::LocalKey<T>::with
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/std/src/thread/local.rs:279:20
  16: tokio::runtime::context::set_scheduler
---
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/runtime.rs:330:18
  24: collector::utils::wait_for_future
             at ./collector/src/utils/mod.rs:16:10
  25: collector::profile_compile::{{closure}}
             at ./collector/src/bin/collector.rs:220:26
  26: core::ops::function::impls::<impl core::ops::function::FnMut<A> for &F>::call_mut
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/core/src/ops/function.rs:277:22
  27: core::iter::adapters::map::map_fold::{{closure}}
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/core/src/iter/adapters/map.rs:88:28
  28: <core::iter::adapters::zip::Zip<A,B> as core::iter::adapters::zip::ZipImpl<A,B>>::fold
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/core/src/iter/adapters/zip.rs:286:25
  29: <core::iter::adapters::zip::Zip<A,B> as core::iter::traits::iterator::Iterator>::fold
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/core/src/iter/adapters/zip.rs:103:9
  30: <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/core/src/iter/adapters/map.rs:128:19
  31: <usize as core::iter::traits::accum::Sum>::sum
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/core/src/iter/traits/accum.rs:50:22
  32: core::iter::traits::iterator::Iterator::sum
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/core/src/iter/traits/iterator.rs:3580:9
  33: <rayon::iter::sum::SumFolder<S> as rayon::iter::plumbing::Folder<T>>::consume_iter
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-1.10.0/src/iter/sum.rs:99:49
  34: <rayon::iter::map::MapFolder<C,F> as rayon::iter::plumbing::Folder<T>>::consume_iter
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-1.10.0/src/iter/map.rs:248:31
  35: rayon::iter::plumbing::Producer::fold_with
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-1.10.0/src/iter/plumbing/mod.rs:109:16
  36: rayon::iter::plumbing::bridge_producer_consumer::helper
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-1.10.0/src/iter/plumbing/mod.rs:437:22
  37: rayon::iter::plumbing::bridge_producer_consumer::helper::{{closure}}
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-1.10.0/src/iter/plumbing/mod.rs:426:21
  38: rayon_core::join::join_context::call_b::{{closure}}
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/join/mod.rs:129:25
  39: rayon_core::job::StackJob<L,F,R>::run_inline
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/job.rs:102:9
  40: rayon_core::join::join_context::{{closure}}
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/join/mod.rs:159:42
  41: rayon_core::registry::in_worker
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/registry.rs:951:13
  42: rayon_core::join::join_context
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/join/mod.rs:132:5
  43: rayon::iter::plumbing::bridge_producer_consumer::helper
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-1.10.0/src/iter/plumbing/mod.rs:415:47
  44: rayon::iter::plumbing::bridge_producer_consumer::helper::{{closure}}
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-1.10.0/src/iter/plumbing/mod.rs:417:21
  45: rayon_core::join::join_context::call_a::{{closure}}
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/join/mod.rs:124:17
  46: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/core/src/panic/unwind_safe.rs:272:9
  47: std::panicking::catch_unwind::do_call
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/std/src/panicking.rs:589:40
  48: __rust_try
  49: std::panicking::catch_unwind
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/std/src/panicking.rs:552:19
  50: std::panic::catch_unwind
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/std/src/panic.rs:359:14
  51: rayon_core::unwind::halt_unwinding
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/unwind.rs:17:5
  52: rayon_core::join::join_context::{{closure}}
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/join/mod.rs:142:24
  53: rayon_core::registry::in_worker
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/registry.rs:951:13
  54: rayon_core::join::join_context
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/join/mod.rs:132:5
  55: rayon::iter::plumbing::bridge_producer_consumer::helper
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-1.10.0/src/iter/plumbing/mod.rs:415:47
  56: rayon::iter::plumbing::bridge_producer_consumer::helper::{{closure}}
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-1.10.0/src/iter/plumbing/mod.rs:417:21
  57: rayon_core::join::join_context::call_a::{{closure}}
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/join/mod.rs:124:17
  58: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/core/src/panic/unwind_safe.rs:272:9
  59: std::panicking::catch_unwind::do_call
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/std/src/panicking.rs:589:40
  60: __rust_try
  61: std::panicking::catch_unwind
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/std/src/panicking.rs:552:19
  62: std::panic::catch_unwind
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/std/src/panic.rs:359:14
  63: rayon_core::unwind::halt_unwinding
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/unwind.rs:17:5
  64: rayon_core::join::join_context::{{closure}}
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/join/mod.rs:142:24
  65: rayon_core::registry::Registry::in_worker_cold::{{closure}}::{{closure}}
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/registry.rs:522:21
  66: rayon_core::job::JobResult<T>::call::{{closure}}
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/job.rs:218:41
  67: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/core/src/panic/unwind_safe.rs:272:9
  68: std::panicking::catch_unwind::do_call
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/std/src/panicking.rs:589:40
  69: __rust_try
  70: std::panicking::catch_unwind
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/std/src/panicking.rs:552:19
  71: std::panic::catch_unwind
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/std/src/panic.rs:359:14
  72: rayon_core::unwind::halt_unwinding
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/unwind.rs:17:5
  73: rayon_core::job::JobResult<T>::call
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/job.rs:218:15
  74: <rayon_core::job::StackJob<L,F,R> as rayon_core::job::Job>::execute
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/job.rs:120:32
  75: rayon_core::job::JobRef::execute
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/job.rs:64:9
  76: rayon_core::registry::WorkerThread::execute
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/registry.rs:860:13
  77: rayon_core::registry::WorkerThread::wait_until_cold
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/registry.rs:794:26
  78: rayon_core::registry::WorkerThread::wait_until
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/registry.rs:769:18
  79: rayon_core::registry::WorkerThread::wait_until_out_of_work
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/registry.rs:818:14
  80: rayon_core::registry::main_loop
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/registry.rs:923:19
  81: rayon_core::registry::ThreadBuilder::run
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/registry.rs:53:18
  82: <rayon_core::registry::DefaultSpawn as rayon_core::registry::ThreadSpawn>::spawn::{{closure}}
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/registry.rs:98:27
  83: std::sys::backtrace::__rust_begin_short_backtrace
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/std/src/sys/backtrace.rs:158:18
  84: std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/std/src/thread/mod.rs:559:17
  85: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
---
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/std/src/panic.rs:359:14
  90: std::thread::Builder::spawn_unchecked_::{{closure}}
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/std/src/thread/mod.rs:557:30
  91: core::ops::function::FnOnce::call_once{{vtable.shim}}
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/core/src/ops/function.rs:253:5
  92: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/alloc/src/boxed.rs:1971:9
  93: std::sys::pal::unix::thread::Thread::new::thread_start
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/std/src/sys/pal/unix/thread.rs:107:17
  94: start_thread
  95: __clone
Executing benchmark ctfe-stress-5 (3/9)
---
[2025-08-13T15:26:48Z DEBUG collector::compile::execute] cd "/tmp/.tmpUprm2e" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpUprm2e#[email protected]" "--profile" "check" "--" "--wrap-rustc-with" "Eprintln"
[2025-08-13T15:26:58Z INFO  collector::compile::execute] run_rustc with incremental=true, profile=Check, scenario=Some(IncrFull), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-08-13T15:26:58Z DEBUG collector::compile::execute] cd "/tmp/.tmpUprm2e" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpUprm2e#[email protected]" "--profile" "check" "--" "--wrap-rustc-with" "Eprintln" "-C" "incremental=/tmp/.tmpUprm2e/incremental-state"
Finished benchmark diesel-2.2.10 (4/9)
collector error: Failed to profile 'diesel-2.2.10' with Eprintln, recorded: expected success, got exit status: 101

stderr=    Checking diesel v2.2.10 (/tmp/.tmpUprm2e)

thread 'main' panicked at collector/src/bin/rustc-fake.rs:31:5:
command did not complete successfully: RUSTC_FORCE_INCR_COMP_ARTIFACT_HEADER="rustc-perf" RUSTC_FORCE_RUSTC_VERSION="rustc-perf" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "--crate-name" "diesel" "--edition=2021" "src/lib.rs" "--error-format=json" "--json=diagnostic-rendered-ansi,artifacts,future-incompat" "--crate-type" "lib" "--emit=dep-info,metadata" "-C" "embed-bitcode=no" "-C" "debuginfo=2" "--cfg" "feature=\"32-column-tables\"" "--cfg" "feature=\"default\"" "--cfg" "feature=\"with-deprecated\"" "--check-cfg" "cfg(docsrs,test)" "--check-cfg" "cfg(feature, values(\"128-column-tables\", \"32-column-tables\", \"64-column-tables\", \"__with_asan_tests\", \"chrono\", \"default\", \"extras\", \"huge-tables\", \"i-implement-a-third-party-backend-and-opt-into-breaking-changes\", \"ipnet-address\", \"large-tables\", \"mysql\", \"mysql_backend\", \"mysqlclient-src\", \"network-address\", \"numeric\", \"postgres\", \"postgres_backend\", \"pq-src\", \"quickcheck\", \"r2d2\", \"returning_clauses_for_sqlite_3_35\", \"serde_json\", \"sqlite\", \"time\", \"unstable\", \"uuid\", \"with-deprecated\", \"without-deprecated\"))" "-C" "metadata=30d249531273ed70" "-C" "extra-filename=-bef7ba4bfcbb2cf9" "--out-dir" "/tmp/.tmpUprm2e/target/debug/deps" "-C" "linker=clang" "-L" "dependency=/tmp/.tmpUprm2e/target/debug/deps" "--extern" "diesel_derives=/tmp/.tmpUprm2e/target/debug/deps/libdiesel_derives-656e7da4c53a319c.so" "-C" "incremental=/tmp/.tmpUprm2e/incremental-state" "-Adeprecated" "-Aunknown-lints" "-Zincremental-verify-ich"
stack backtrace:
   0: __rustc::rust_begin_unwind
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/std/src/panicking.rs:697:5
   1: core::panicking::panic_fmt
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/core/src/panicking.rs:75:14
---
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
error: could not compile `diesel` (lib)

Caused by:
  process didn't exit successfully: `/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake --crate-name diesel --edition=2021 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 --cfg 'feature="32-column-tables"' --cfg 'feature="default"' --cfg 'feature="with-deprecated"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("128-column-tables", "32-column-tables", "64-column-tables", "__with_asan_tests", "chrono", "default", "extras", "huge-tables", "i-implement-a-third-party-backend-and-opt-into-breaking-changes", "ipnet-address", "large-tables", "mysql", "mysql_backend", "mysqlclient-src", "network-address", "numeric", "postgres", "postgres_backend", "pq-src", "quickcheck", "r2d2", "returning_clauses_for_sqlite_3_35", "serde_json", "sqlite", "time", "unstable", "uuid", "with-deprecated", "without-deprecated"))' -C metadata=30d249531273ed70 -C extra-filename=-bef7ba4bfcbb2cf9 --out-dir /tmp/.tmpUprm2e/target/debug/deps -C linker=clang -L dependency=/tmp/.tmpUprm2e/target/debug/deps --extern diesel_derives=/tmp/.tmpUprm2e/target/debug/deps/libdiesel_derives-656e7da4c53a319c.so --wrap-rustc-with Eprintln -C incremental=/tmp/.tmpUprm2e/incremental-state` (exit status: 101)


 stdout=


Stack backtrace:
   0: anyhow::error::<impl anyhow::Error>::msg
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.86/src/backtrace.rs:27:14
   1: collector::async_command_output::{{closure}}
             at ./collector/src/lib.rs:247:20
   2: collector::compile::execute::CargoProcess::run_rustc::{{closure}}
             at ./collector/src/compile/execute/mod.rs:453:52
   3: collector::compile::benchmark::Benchmark::measure::{{closure}}
             at ./collector/src/compile/benchmark/mod.rs:462:30
   4: <core::pin::Pin<P> as core::future::future::Future>::poll
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/core/src/future/future.rs:133:9
   5: tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::{{closure}}
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/current_thread/mod.rs:733:70
   6: tokio::task::coop::with_budget
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/task/coop/mod.rs:167:5
   7: tokio::task::coop::budget
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/task/coop/mod.rs:133:5
   8: tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/current_thread/mod.rs:733:25
   9: tokio::runtime::scheduler::current_thread::Context::enter
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/current_thread/mod.rs:432:19
  10: tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/current_thread/mod.rs:732:44
  11: tokio::runtime::scheduler::current_thread::CoreGuard::enter::{{closure}}
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/current_thread/mod.rs:820:68
  12: tokio::runtime::context::scoped::Scoped<T>::set
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/context/scoped.rs:40:9
  13: tokio::runtime::context::set_scheduler::{{closure}}
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/context.rs:176:38
  14: std::thread::local::LocalKey<T>::try_with
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/std/src/thread/local.rs:315:12
  15: std::thread::local::LocalKey<T>::with
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/std/src/thread/local.rs:279:20
  16: tokio::runtime::context::set_scheduler
---
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/runtime.rs:330:18
  24: collector::utils::wait_for_future
             at ./collector/src/utils/mod.rs:16:10
  25: collector::profile_compile::{{closure}}
             at ./collector/src/bin/collector.rs:220:26
  26: core::ops::function::impls::<impl core::ops::function::FnMut<A> for &F>::call_mut
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/core/src/ops/function.rs:277:22
  27: core::iter::adapters::map::map_fold::{{closure}}
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/core/src/iter/adapters/map.rs:88:28
  28: <core::iter::adapters::zip::Zip<A,B> as core::iter::adapters::zip::ZipImpl<A,B>>::fold
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/core/src/iter/adapters/zip.rs:286:25
  29: <core::iter::adapters::zip::Zip<A,B> as core::iter::traits::iterator::Iterator>::fold
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/core/src/iter/adapters/zip.rs:103:9
  30: <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/core/src/iter/adapters/map.rs:128:19
  31: <usize as core::iter::traits::accum::Sum>::sum
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/core/src/iter/traits/accum.rs:50:22
  32: core::iter::traits::iterator::Iterator::sum
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/core/src/iter/traits/iterator.rs:3580:9
  33: <rayon::iter::sum::SumFolder<S> as rayon::iter::plumbing::Folder<T>>::consume_iter
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-1.10.0/src/iter/sum.rs:99:49
  34: <rayon::iter::map::MapFolder<C,F> as rayon::iter::plumbing::Folder<T>>::consume_iter
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-1.10.0/src/iter/map.rs:248:31
  35: rayon::iter::plumbing::Producer::fold_with
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-1.10.0/src/iter/plumbing/mod.rs:109:16
  36: rayon::iter::plumbing::bridge_producer_consumer::helper
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-1.10.0/src/iter/plumbing/mod.rs:437:22
  37: rayon::iter::plumbing::bridge_producer_consumer::helper::{{closure}}
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-1.10.0/src/iter/plumbing/mod.rs:426:21
  38: rayon_core::join::join_context::call_b::{{closure}}
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/join/mod.rs:129:25
  39: rayon_core::job::StackJob<L,F,R>::run_inline
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/job.rs:102:9
  40: rayon_core::join::join_context::{{closure}}
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/join/mod.rs:159:42
  41: rayon_core::registry::in_worker
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/registry.rs:951:13
  42: rayon_core::join::join_context
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/join/mod.rs:132:5
  43: rayon::iter::plumbing::bridge_producer_consumer::helper
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-1.10.0/src/iter/plumbing/mod.rs:415:47
  44: rayon::iter::plumbing::bridge_producer_consumer::helper::{{closure}}
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-1.10.0/src/iter/plumbing/mod.rs:426:21
  45: rayon_core::join::join_context::call_b::{{closure}}
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/join/mod.rs:129:25
  46: rayon_core::job::StackJob<L,F,R>::run_inline
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/job.rs:102:9
  47: rayon_core::join::join_context::{{closure}}
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/join/mod.rs:159:42
  48: rayon_core::registry::in_worker
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/registry.rs:951:13
  49: rayon_core::join::join_context
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/join/mod.rs:132:5
  50: rayon::iter::plumbing::bridge_producer_consumer::helper
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-1.10.0/src/iter/plumbing/mod.rs:415:47
  51: rayon::iter::plumbing::bridge_producer_consumer::helper::{{closure}}
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-1.10.0/src/iter/plumbing/mod.rs:417:21
  52: rayon_core::join::join_context::call_a::{{closure}}
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/join/mod.rs:124:17
  53: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/core/src/panic/unwind_safe.rs:272:9
  54: std::panicking::catch_unwind::do_call
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/std/src/panicking.rs:589:40
  55: __rust_try
  56: std::panicking::catch_unwind
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/std/src/panicking.rs:552:19
  57: std::panic::catch_unwind
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/std/src/panic.rs:359:14
  58: rayon_core::unwind::halt_unwinding
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/unwind.rs:17:5
  59: rayon_core::join::join_context::{{closure}}
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/join/mod.rs:142:24
  60: rayon_core::registry::Registry::in_worker_cold::{{closure}}::{{closure}}
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/registry.rs:522:21
  61: rayon_core::job::JobResult<T>::call::{{closure}}
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/job.rs:218:41
  62: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/core/src/panic/unwind_safe.rs:272:9
  63: std::panicking::catch_unwind::do_call
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/std/src/panicking.rs:589:40
  64: __rust_try
  65: std::panicking::catch_unwind
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/std/src/panicking.rs:552:19
  66: std::panic::catch_unwind
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/std/src/panic.rs:359:14
  67: rayon_core::unwind::halt_unwinding
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/unwind.rs:17:5
  68: rayon_core::job::JobResult<T>::call
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/job.rs:218:15
  69: <rayon_core::job::StackJob<L,F,R> as rayon_core::job::Job>::execute
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/job.rs:120:32
  70: rayon_core::job::JobRef::execute
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/job.rs:64:9
  71: rayon_core::registry::WorkerThread::execute
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/registry.rs:860:13
  72: rayon_core::registry::WorkerThread::wait_until_cold
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/registry.rs:794:26
  73: rayon_core::registry::WorkerThread::wait_until
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/registry.rs:769:18
  74: rayon_core::registry::WorkerThread::wait_until_out_of_work
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/registry.rs:818:14
  75: rayon_core::registry::main_loop
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/registry.rs:923:19
  76: rayon_core::registry::ThreadBuilder::run
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/registry.rs:53:18
  77: <rayon_core::registry::DefaultSpawn as rayon_core::registry::ThreadSpawn>::spawn::{{closure}}
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/registry.rs:98:27
  78: std::sys::backtrace::__rust_begin_short_backtrace
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/std/src/sys/backtrace.rs:158:18
  79: std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/std/src/thread/mod.rs:559:17
  80: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
---
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/std/src/panic.rs:359:14
  85: std::thread::Builder::spawn_unchecked_::{{closure}}
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/std/src/thread/mod.rs:557:30
  86: core::ops::function::FnOnce::call_once{{vtable.shim}}
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/core/src/ops/function.rs:253:5
  87: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/alloc/src/boxed.rs:1971:9
  88: std::sys::pal::unix::thread::Thread::new::thread_start
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/std/src/sys/pal/unix/thread.rs:107:17
  89: start_thread
  90: __clone
Executing benchmark externs (5/9)
---
[2025-08-13T15:27:00Z DEBUG collector::compile::benchmark] Benchmark iteration 1/1
[2025-08-13T15:27:00Z INFO  collector::compile::execute] run_rustc with incremental=false, profile=Debug, scenario=Some(Full), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-08-13T15:27:00Z DEBUG collector::compile::execute] cd "/tmp/.tmpmhbbzL" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpmhbbzL#[email protected]" "--" "--wrap-rustc-with" "Eprintln"
[2025-08-13T15:27:01Z INFO  collector::compile::execute] run_rustc with incremental=true, profile=Debug, scenario=Some(IncrFull), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-08-13T15:27:01Z DEBUG collector::compile::execute] cd "/tmp/.tmpmhbbzL" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpmhbbzL#[email protected]" "--" "--wrap-rustc-with" "Eprintln" "-C" "incremental=/tmp/.tmpmhbbzL/incremental-state"
[2025-08-13T15:27:01Z INFO  collector::compile::execute] run_rustc with incremental=true, profile=Debug, scenario=Some(IncrUnchanged), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-08-13T15:27:01Z DEBUG collector::compile::execute] cd "/tmp/.tmpmhbbzL" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpmhbbzL#[email protected]" "--" "--wrap-rustc-with" "Eprintln" "-C" "incremental=/tmp/.tmpmhbbzL/incremental-state"
Running externs: Opt + [Full, IncrFull, IncrUnchanged] + Llvm + X86_64UnknownLinuxGnu
[2025-08-13T15:27:01Z DEBUG collector::compile::benchmark] Benchmark iteration 1/1
[2025-08-13T15:27:01Z INFO  collector::compile::execute] run_rustc with incremental=false, profile=Opt, scenario=Some(Full), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-08-13T15:27:01Z DEBUG collector::compile::execute] cd "/tmp/.tmpQtGy1g" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpQtGy1g#[email protected]" "--release" "--" "--wrap-rustc-with" "Eprintln"
[2025-08-13T15:27:02Z INFO  collector::compile::execute] run_rustc with incremental=true, profile=Opt, scenario=Some(IncrFull), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
---
[2025-08-13T15:27:29Z DEBUG collector::compile::benchmark] Benchmark iteration 1/1
[2025-08-13T15:27:29Z INFO  collector::compile::execute] run_rustc with incremental=false, profile=Check, scenario=Some(Full), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-08-13T15:27:29Z DEBUG collector::compile::execute] cd "/tmp/.tmpDXUUVG" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpDXUUVG#[email protected]" "--profile" "check" "--bin" "token-stream-stress-bin" "--" "--wrap-rustc-with" "Eprintln"
[2025-08-13T15:27:29Z INFO  collector::compile::execute] run_rustc with incremental=true, profile=Check, scenario=Some(IncrFull), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-08-13T15:27:29Z DEBUG collector::compile::execute] cd "/tmp/.tmpDXUUVG" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpDXUUVG#[email protected]" "--profile" "check" "--bin" "token-stream-stress-bin" "--" "--wrap-rustc-with" "Eprintln" "-C" "incremental=/tmp/.tmpDXUUVG/incremental-state"
[2025-08-13T15:27:29Z INFO  collector::compile::execute] run_rustc with incremental=true, profile=Check, scenario=Some(IncrUnchanged), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-08-13T15:27:29Z DEBUG collector::compile::execute] cd "/tmp/.tmpDXUUVG" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpDXUUVG#[email protected]" "--profile" "check" "--bin" "token-stream-stress-bin" "--" "--wrap-rustc-with" "Eprintln" "-C" "incremental=/tmp/.tmpDXUUVG/incremental-state"
Running token-stream-stress: Debug + [Full, IncrFull, IncrUnchanged] + Llvm + X86_64UnknownLinuxGnu
[2025-08-13T15:27:29Z DEBUG collector::compile::benchmark] Benchmark iteration 1/1
[2025-08-13T15:27:29Z INFO  collector::compile::execute] run_rustc with incremental=false, profile=Debug, scenario=Some(Full), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-08-13T15:27:29Z DEBUG collector::compile::execute] cd "/tmp/.tmpNI8M5r" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpNI8M5r#[email protected]" "--bin" "token-stream-stress-bin" "--" "--wrap-rustc-with" "Eprintln"
[2025-08-13T15:27:29Z INFO  collector::compile::execute] run_rustc with incremental=true, profile=Debug, scenario=Some(IncrFull), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
---
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/core/src/ops/function.rs:253:5
   5: std::sys::backtrace::__rust_begin_short_backtrace
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/std/src/sys/backtrace.rs:158:18
   6: std::rt::lang_start::{{closure}}
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/std/src/rt.rs:206:18
   7: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/core/src/ops/function.rs:290:21
   8: std::panicking::catch_unwind::do_call
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/std/src/panicking.rs:589:40
   9: std::panicking::catch_unwind
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/std/src/panicking.rs:552:19
  10: std::panic::catch_unwind
---
    0: Cannot gather rustc PGO profiles
    1: Command LLVM_PROFILE_FILE=/tmp/tmp-multistage/opt-artifacts/rustc-pgo/default_%m_%p.profraw RUSTC=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/rustc RUSTC_BOOTSTRAP=1 RUST_LOG=collector=debug /checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo run -p collector --bin collector -- profile_local eprintln /checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc --id Test --cargo /checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo --profiles Check,Debug,Opt --scenarios All --exact-match externs,ctfe-stress-5,cargo-0.87.1,token-stream-stress,match-stress,tuple-stress,diesel-2.2.10,bitmaps-3.2.1,serde-1.0.219-new-solver [at /tmp/tmp-multistage/opt-artifacts/rustc-perf] has failed with exit code Some(1)

Stack backtrace:
   0: <anyhow::Error>::msg::<alloc::string::String>
             at /rust/deps/anyhow-1.0.98/src/backtrace.rs:27:14
   1: <opt_dist::exec::CmdBuilder>::run
             at /rustc/b712f626793ed0ea85008ae77d5db0715b1e9537/src/tools/opt-dist/src/exec.rs:80:17
   2: opt_dist::training::gather_rustc_profiles::{closure#0}
             at /rustc/b712f626793ed0ea85008ae77d5db0715b1e9537/src/tools/opt-dist/src/training.rs:159:14
   3: opt_dist::utils::with_log_group::<opt_dist::training::gather_rustc_profiles::{closure#0}, core::result::Result<(), anyhow::Error>>
             at /rustc/b712f626793ed0ea85008ae77d5db0715b1e9537/src/tools/opt-dist/src/utils/mod.rs:68:22
   4: opt_dist::training::gather_rustc_profiles
             at /rustc/b712f626793ed0ea85008ae77d5db0715b1e9537/src/tools/opt-dist/src/training.rs:156:5
   5: opt_dist::execute_pipeline::{closure#1}::{closure#1}
             at /rustc/b712f626793ed0ea85008ae77d5db0715b1e9537/src/tools/opt-dist/src/main.rs:260:45
   6: <opt_dist::timer::TimerSection>::section::<opt_dist::execute_pipeline::{closure#1}::{closure#1}, opt_dist::training::RustcPGOProfile>
             at /rustc/b712f626793ed0ea85008ae77d5db0715b1e9537/src/tools/opt-dist/src/timer.rs:111:22
   7: opt_dist::execute_pipeline::{closure#1}
             at /rustc/b712f626793ed0ea85008ae77d5db0715b1e9537/src/tools/opt-dist/src/main.rs:260:14
   8: <opt_dist::timer::TimerSection>::section::<opt_dist::execute_pipeline::{closure#1}, opt_dist::training::RustcPGOProfile>
             at /rustc/b712f626793ed0ea85008ae77d5db0715b1e9537/src/tools/opt-dist/src/timer.rs:111:22
   9: opt_dist::execute_pipeline
             at /rustc/b712f626793ed0ea85008ae77d5db0715b1e9537/src/tools/opt-dist/src/main.rs:242:35
  10: opt_dist::main
             at /rustc/b712f626793ed0ea85008ae77d5db0715b1e9537/src/tools/opt-dist/src/main.rs:461:18
  11: <fn() -> core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/core/src/ops/function.rs:253:5
  12: std::sys::backtrace::__rust_begin_short_backtrace::<fn() -> core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>>
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/std/src/sys/backtrace.rs:158:18
  13: std::rt::lang_start::<core::result::Result<(), anyhow::Error>>::{closure#0}
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/std/src/rt.rs:206:18
  14: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/core/src/ops/function.rs:290:21
  15: std::panicking::catch_unwind::do_call
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/std/src/panicking.rs:589:40
  16: std::panicking::catch_unwind
             at /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/std/src/panicking.rs:552:19
  17: std::panic::catch_unwind

@rust-bors
Copy link

rust-bors bot commented Aug 13, 2025

💔 Test for b712f62 failed: CI. Failed jobs:

Comment on lines +148 to +149
let macro_def_id = invoc_expn_data.macro_def_id.unwrap();
let proc_macro_crate_hash = tcx.crate_hash(macro_def_id.krate);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This can be done from inside the query, to force a dependency on crate_hash, not as part of the key.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, my knowledge of the query infrastructure is quite limited 😅 How would that work? The key would be just LocalExpnId and &TokenStream, and then inside the query I would just call tcx.crate_hash and throw away the results? 🤔

@Kobzol
Copy link
Member Author

Kobzol commented Aug 15, 2025

I looked into the benchmark failure on diesel, seems like I hold queries wrong somehow :) Any suggestions on what could be the case? Maybe the derived Hash impl for TokenStream does not correspond to the manual Eq impl? 🤔

thread 'rustc' panicked at /projects/personal/rust/rust/compiler/rustc_query_system/src/query/plumbing.rs:191:23:
active query job entry
stack backtrace:
   0: __rustc::rust_begin_unwind
   1: core::panicking::panic_fmt
   2: core::option::expect_failed
   3: <rustc_query_system::query::plumbing::JobOwner<(rustc_span::hygiene::LocalExpnId, rustc_data_structures::svh::Svh, &rustc_ast::tokenstream::TokenStream), rustc_query_system::query::QueryStackDeferred>>::complete::<rustc_query_system::query::caches::DefaultCache<(rustc_span::hygiene::LocalExpnId, rustc_data_structures::svh::Svh, &rustc_ast::tokenstream::TokenStream), rustc_middle::query::erase::Erased<[u8; 8]>>>
   4: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefaultCache<(rustc_span::hygiene::LocalExpnId, rustc_data_structures::svh::Svh, &rustc_ast::tokenstream::TokenStream), rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, true>
   5: <scoped_tls::ScopedKey<rustc_expand::proc_macro::QueryDeriveExpandCtx>>::set::<<rustc_expand::proc_macro::QueryDeriveExpandCtx>::enter<<rustc_expand::proc_macro::DeriveProcMacro as rustc_expand::base::MultiItemModifier>::expand::{closure#1}::{closure#0}, core::result::Result<rustc_ast::tokenstream::TokenStream, ()>>::{closure#0}, core::result::Result<rustc_ast::tokenstream::TokenStream, ()>>
   6: <rustc_expand::proc_macro::QueryDeriveExpandCtx>::enter::<<rustc_expand::proc_macro::DeriveProcMacro as rustc_expand::base::MultiItemModifier>::expand::{closure#1}::{closure#0}, core::result::Result<rustc_ast::tokenstream::TokenStream, ()>>
   7: <rustc_expand::proc_macro::DeriveProcMacro as rustc_expand::base::MultiItemModifier>::expand
   8: <rustc_expand::expand::MacroExpander>::expand_invoc
   9: <rustc_expand::expand::MacroExpander>::fully_expand_fragment
  10: <rustc_expand::expand::MacroExpander>::expand_crate
  11: <rustc_session::session::Session>::time::<rustc_ast::ast::Crate, rustc_interface::passes::configure_and_expand::{closure#1}>
  12: rustc_interface::passes::resolver_for_lowering_raw
      [... omitted 6 frames ...]
  13: <rustc_middle::ty::context::TyCtxt>::resolver_for_lowering
  14: <std::thread::local::LocalKey<core::cell::Cell<*const ()>>>::with::<rustc_middle::ty::context::tls::enter_context<<rustc_middle::ty::context::GlobalCtxt>::enter<rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}, core::option::Option<rustc_interface::queries::Linker>>::{closure#1}, core::option::Option<rustc_interface::queries::Linker>>::{closure#0}, core::option::Option<rustc_interface::queries::Linker>>
  15: <rustc_middle::ty::context::TyCtxt>::create_global_ctxt::<core::option::Option<rustc_interface::queries::Linker>, rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}>
  16: <rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2} as core::ops::function::FnOnce<(&rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, alloc::sync::Arc<rustc_data_structures::jobserver::Proxy>, &std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2})>>::call_once::{shim:vtable#0}
  17: <alloc::boxed::Box<dyn for<'a> core::ops::function::FnOnce<(&'a rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, alloc::sync::Arc<rustc_data_structures::jobserver::Proxy>, &'a std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt<'a>>, &'a rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena<'a>>, &'a rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena<'a>>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}), Output = core::option::Option<rustc_interface::queries::Linker>>> as core::ops::function::FnOnce<(&rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, alloc::sync::Arc<rustc_data_structures::jobserver::Proxy>, &std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2})>>::call_once
  18: rustc_interface::passes::create_and_enter_global_ctxt::<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>
  19: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}::{closure#0}>, ()>
  20: <scoped_tls::ScopedKey<rustc_span::SessionGlobals>>::set::<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}, ()>
  21: rustc_span::create_session_globals_then::<(), rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}>
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-perf Status: Waiting on a perf run to be completed. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants